home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / programming / c / dicepj20.lha / diceproject / sources / project.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-10-31  |  9.7 KB  |  388 lines

  1.  
  2. #include <libraries/iffparse.h>
  3. #include <dos/dos.h>
  4.  
  5. #include <prototypes.h>
  6.  
  7.  
  8. #define GetString( g )      ((( struct StringInfo * )g->SpecialInfo )->Buffer  )
  9. #define GetNumber( g )      ((( struct StringInfo * )g->SpecialInfo )->LongInt )
  10.  
  11. #define GD_ModuleList                   0
  12.  
  13. #define GDX_ModuleList                   0
  14.  
  15. #define GD_ScreenList                   0
  16.  
  17. #define GDX_ScreenList                   0
  18.  
  19. #define GD_Source                   0
  20. #define GD_Dest                    1
  21. #define GD_Include                   2
  22. #define GD_Lib                       3
  23. #define GD_Obj                       4
  24. #define GD_SourceString                5
  25. #define GD_DestString                   6
  26. #define GD_IncludeString               7
  27. #define GD_LibString                   8
  28. #define GD_ObjString                   9
  29. #define GD_Prg                       10
  30. #define GD_PrgString                   11
  31.  
  32. #define GDX_Source                   0
  33. #define GDX_Dest                   1
  34. #define GDX_Include                   2
  35. #define GDX_Lib                    3
  36. #define GDX_Obj                    4
  37. #define GDX_SourceString               5
  38. #define GDX_DestString                   6
  39. #define GDX_IncludeString
  40. #define GDX_LibString                   8
  41. #define GDX_ObjString                   9
  42. #define GDX_Prg                    10
  43. #define GDX_PrgString                   11
  44.  
  45. #define GD_CompileName                   0
  46. #define GD_Gadget13                   1
  47.  
  48. #define GDX_CompileName                0
  49. #define GDX_Gadget13                   1
  50.  
  51. #define GD_Reloc                   0
  52. #define GD_Resident                   1
  53. #define GD_DInfo                   2
  54. #define GD_DLevel                   3
  55. #define GD_Stack                   4
  56. #define GD_Chip                    5
  57. #define GD_CPU                       6
  58. #define GD_FPU                       7
  59. #define GD_Data                    8
  60. #define GD_Code                    9
  61. #define GD_Calls                   10
  62. #define GD_Inline                   11
  63. #define GD_Hunk                    12
  64.  
  65. #define GDX_Reloc                   0
  66. #define GDX_Resident                   1
  67. #define GDX_DInfo                   2
  68. #define GDX_DLevel                   3
  69. #define GDX_Stack                   4
  70. #define GDX_Chip                   5
  71. #define GDX_CPU                    6
  72. #define GDX_FPU                    7
  73. #define GDX_Data                   8
  74. #define GDX_Code                   9
  75. #define GDX_Calls                   10
  76. #define GDX_Inline                   11
  77. #define GDX_Hunk                   12
  78.  
  79. #define Project_CNT 1
  80. #define Scr_CNT 1
  81. #define DirSet_CNT 16
  82. #define Compile_CNT 2
  83.  
  84. extern struct Window        *ParmsLineWnd;
  85. extern struct Gadget        *ParmsLineGList;
  86. extern struct Gadget        *ParmsLineGadgets[3];
  87.  
  88. extern struct Screen        *Scr;
  89. extern APTR             VisualInfo;
  90. extern struct Window        *ProjectWnd;
  91. extern struct Window        *MessWnd;
  92. extern struct Window        *CListeWnd;
  93. extern struct Window        *DirSetWnd;
  94. extern struct Window        *CompileWnd;
  95. extern struct Gadget        *ProjectGList;
  96. extern struct Gadget        *MessGList;
  97. extern struct Gadget        *CListeGList;
  98. extern struct Gadget        *DirSetGList;
  99. extern struct Gadget        *CompileGList;
  100. extern struct Menu        *ProjectMenus;
  101. extern struct IntuiMessage   ProjectMsg;
  102. extern struct IntuiMessage   MessMsg;
  103. extern struct IntuiMessage   DirSetMsg;
  104. extern struct IntuiMessage   CompileMsg;
  105. extern struct TextFont        *NFont;
  106. extern struct Gadget        *ProjectGadgets[1];
  107. extern struct Gadget        *MessGadgets[1];
  108. extern struct Gadget        *CListeGadgets[3];
  109. extern struct Gadget        *DirSetGadgets[];
  110. extern struct Gadget        *CompileGadgets[2];
  111. extern UBYTE            *ProjectWdt;
  112. extern UBYTE            *DirSetWdt;
  113. extern struct TextAttr        *Font, Attr;
  114. extern UWORD             FontX, FontY;
  115. extern UWORD             OffX, OffY;
  116. extern struct GfxBase        *GfxBase;
  117. extern struct IntuiText      CompileIText[];
  118. extern struct IntuiText      CompileIText[];
  119. extern struct NewMenu         ProjectNewMenu[];
  120. extern UWORD             ProjectGTypes[];
  121. extern UWORD             MessGTypes[];
  122. extern UWORD             CListeGTypes[];
  123. extern UWORD             DirSetGTypes[];
  124. extern UWORD             CompileGTypes[];
  125. extern struct NewGadget      ProjectNGad[];
  126. extern struct NewGadget      MessNGad[];
  127. extern struct NewGadget      CListeNGad[];
  128. extern struct NewGadget      DirSetNGad[];
  129. extern struct NewGadget      CompileNGad[];
  130. extern ULONG             ProjectGTags[];
  131. extern ULONG             MessGTags[];
  132. extern ULONG             CListeGTags[];
  133. extern ULONG             DirSetGTags[];
  134. extern ULONG             CompileGTags[];
  135. extern struct ColorSpec      ScreenColors[];
  136. extern UWORD             DriPens[];
  137.  
  138. extern int ModuleListClicked( void );
  139. extern int MessListClicked( void );
  140. extern int SourceClicked( void );
  141. extern int DestClicked( void );
  142. extern int IncludeClicked( void );
  143. extern int LibClicked( void );
  144. extern int ObjClicked( void );
  145. extern int PrgClicked( void );
  146.  
  147. extern int ProjectNew( void );
  148. extern int ProjectOpen( void );
  149. extern int ProjectInfo( void );
  150. extern int ProjectSave( void );
  151. extern int ProjectSaveas( void );
  152. extern int ProjectIcon( void );
  153. extern int ProjectAbout( void );
  154. extern int ProjectHelp( void );
  155. extern int ProjectQuit( void );
  156. extern int ProjectEdit( void );
  157. extern int ProjectInclude( void );
  158. extern int ProjectComment( void );
  159. extern int ProjectCommentKill( void );
  160. extern int ProjectAdd( void );
  161. extern int ProjectRem( void );
  162. extern int ProjectOther( void );
  163. extern int ProjectGenerate( void );
  164. extern int ProjectLibrary( void );
  165. extern int ProjectMake( void );
  166. extern int ProjectCompile( void );
  167. extern int ProjectLink( void );
  168. extern int ProjectLaunch( void );
  169. extern int ProjectLaunchOpt( void );
  170. extern int ProjectCodeInfo( void );
  171. extern int ProjectMainOpt( void );
  172. extern int ProjectCompilerOpt( void );
  173. extern int ProjectLinkerOpt( void );
  174. extern int ProjectDirectory( void );
  175. extern int ProjectEditorOpt( void );
  176. extern int ProjectScreenOpt( void );
  177. extern int ProjectCloseWB( void );
  178. extern int ProjectOpenWB( void );
  179. extern int ProjectAutoDocs( void );
  180.  
  181. extern int SetupScreen( void );
  182. extern int CloseDownScreen( void );
  183.  
  184. extern int ProjectNewSize( void );
  185. extern int HandleProjectIDCMP( void );
  186. extern int ProjectCloseWindow( void );
  187. extern int OpenProjectWindow( void );
  188. extern void CloseProjectWindow( void );
  189.  
  190. extern int MessNewSize( void );
  191. extern int HandleMessIDCMP( void );
  192. extern int OpenMessWindow( void );
  193. extern int MessCloseWindow( void );
  194. extern void CloseMessWindow( void );
  195.  
  196. extern int OpenCListeWindow( char * );
  197. extern void CloseCListeWindow( void );
  198.  
  199. extern int HandleDirSetIDCMP( void );
  200. extern int OpenDirSetWindow( void );
  201. extern void CloseDirSetWindow( void );
  202.  
  203. extern void CompileRender( char * );
  204. extern int OpenCompileWindow( char * );
  205. extern void CloseCompileWindow( void );
  206.  
  207. extern int OpenParmsLineWindow( void );
  208. extern void CloseParmsLineWindow( void );
  209.  
  210. extern UWORD OffX,OffY;
  211.  
  212. extern UWORD ProjectLeft;
  213. extern UWORD ProjectTop;
  214. extern UWORD ProjectWidth;
  215. extern UWORD ProjectHeight;
  216.  
  217. extern UWORD MessLeft;
  218. extern UWORD MessTop;
  219. extern UWORD MessWidth;
  220. extern UWORD MessHeight;
  221.  
  222. extern BOOL KeepMessages;
  223.  
  224. extern struct Library           *IconBase;
  225. extern struct Library           *WorkbenchBase;
  226. extern struct IntuitionBase       *IntuitionBase;
  227. extern struct Library           *GadToolsBase;
  228.  
  229. #define SMALL FALSE
  230. #define LARGE TRUE
  231. #define REGARG FALSE
  232. #define STACKARG TRUE
  233. #define CPU00    0
  234. #define CPU20    1
  235. #define CPU30    2
  236. #define FPU00    0
  237. #define FPU81    1
  238. #define FPU82    2
  239.  
  240. #define PROF0    0
  241. #define PROF1    1
  242. #define PROF2    2
  243.  
  244. #define MODULE_NODE 200
  245.  
  246. struct ModuleNode {
  247.     struct Node node;
  248.     char *filename;
  249.     char *directory;
  250.     char *pathfile;
  251.     char *namelist;
  252.     char *name;
  253.     char type;
  254. };
  255.  
  256. struct CompilerOpts {
  257.     UBYTE CPU,FPU;
  258.     BOOL Data,Code;
  259.     BOOL Resident;
  260.     BOOL DStack;
  261.     BOOL Chip;
  262.     BOOL Hunk;
  263.     BOOL DebugI;
  264.     BOOL DebugL;
  265.     BOOL RCalls;
  266.     BOOL ICalls;
  267.     UBYTE HunkCode;
  268.     BOOL CPP;
  269.     BOOL Proto;
  270.     UBYTE Prof;
  271.     BOOL Frag;
  272.     BOOL Unix;
  273.     UBYTE ObjType;
  274.     char Version[3];
  275. };
  276.  
  277. extern struct CompilerOpts Config,Config2;
  278. extern struct List *ModuleList;
  279.  
  280. extern struct Resource *ProjectScreen;
  281. extern char *Editor;
  282. extern char *DICEDir;
  283. extern char *AutoDir;
  284. extern char *SourceDir;
  285. extern char *DestDir;
  286. extern char *IncludeDir;
  287. extern char *LibDir;
  288. extern char *ObjDir;
  289.  
  290. extern char *ProjectPathName;
  291. extern char *ProjectName;
  292. extern char *WindowTitle;
  293.  
  294. extern BPTR DICELock;
  295. extern BPTR IncludeLock;
  296. extern BPTR AIncludeLock;
  297. extern BPTR LibLock;
  298.  
  299. extern char *OptLine;
  300. extern char *OptFile;
  301. extern char *StartDir;
  302. extern char *PrgDir;
  303.  
  304. extern UWORD ROMVersion;
  305.  
  306. extern BOOL LoadOptions( struct IFFHandle * );
  307. extern void SaveOptions( struct IFFHandle * );
  308. extern BOOL ViewErrors( char * );
  309.  
  310. extern void ReplaceChar( char **dest , char *source );
  311.  
  312. extern void ChangeProjectName( char *pathname );
  313.  
  314. extern void ChangeDICEDir( char *dir );
  315.  
  316. extern void EditModule( char *name );
  317.  
  318. extern char *CommentName( char *module );
  319.  
  320. extern BOOL IsCommented( char *module );
  321.  
  322. extern void MakeAssign( void );
  323.  
  324. extern void RemoveAssign( void );
  325.  
  326. extern void RemModuleNode( struct ModuleNode *wn );
  327.  
  328. extern struct ModuleNode *AddModuleNode( struct List *list , char *name , char *directory );
  329.  
  330. extern void UpdateNameList( void );
  331.  
  332. extern void LoadPrefs( void );
  333.  
  334. extern void SavePrefs( void );
  335.  
  336. extern void MakeOptions( void );
  337.  
  338. extern void UpdateScreen( void );
  339.  
  340. extern struct TextAttr times13;
  341.  
  342. extern BOOL saved,compilall,compil,link;
  343.  
  344. extern struct Resource *DefaultScreenResource( void );
  345.  
  346. extern void SaveScreenResource( struct TagItem * , struct IFFHandle * );
  347.  
  348. extern char *MakeObjectPath( char * );
  349.  
  350. extern void FreeResource( struct Resource *res );
  351.  
  352. extern struct Resource *LoadResource( long type , char *name );
  353.  
  354. extern struct Resource *LoadResourceIFF( long type , struct IFFHandle * );
  355.  
  356. extern void GetResource( struct Resource *);
  357.  
  358. extern BOOL PutResource( struct Resource *);
  359.  
  360. extern void NextMessage( void );
  361.  
  362. extern void PrevMessage( void );
  363.  
  364. extern void NextModule( void );
  365.  
  366. extern void PrevModule( void );
  367.  
  368. /*
  369. extern int CancelClicked( void );
  370.  
  371. extern int OkClicked( void );
  372. */
  373.  
  374. extern void UpDateSelectedModule( void );
  375.  
  376. extern void FindSelectedModule( long );
  377.  
  378. extern int DirSetUseClicked( void );
  379. extern int DirSetCancelClicked( void );
  380.  
  381. extern int AutoDocClicked( void );
  382. extern struct TagItem *ScreenTags;
  383. extern int ProjectMakeFO( void );
  384.  
  385. extern char *StrMessages[];
  386.  
  387. extern void ChargeAide( char * );
  388.